package com.mlk.repair.service;

import com.mlk.core.component.page.Pager;
import com.mlk.core.util.ServerResponse;
import com.mlk.repair.po.EngRepairTicket;
import com.mlk.repair.po.EngRepairTicketItem;
import com.mlk.repair.po.EngRepairTicketPic;
import com.mlk.repair.vo.EngRepairTicketVO;
import org.springframework.web.multipart.MultipartFile;

public interface EngRepairService {

    /**
     * 上传报备文件
     * @param pic
     * @param file
     * @return
     */
    ServerResponse addPic(EngRepairTicketPic pic, MultipartFile file);

    /**
     * 删除报备图片
     * @param id
     * @return
     */
    ServerResponse delPic(Integer id);

    /**
     * 添加报备单内容
     * @param vo
     * @return
     */
    ServerResponse addTicket(EngRepairTicketVO vo);

    /**
     * 查询我的报备单
     * @param openId
     * @return
     */
    Pager queryMyRepair(String openId);

    /**
     * 查询报备单详情
     * @param ticketId
     * @return
     */
    ServerResponse queryRepairTickInfo(String ticketId);

    /**
     * 分页展示数据
     * @param vo
     * @return
     */
    Pager listPage(EngRepairTicketVO vo);

    /**
     * 接收报备单
     * @param ticket
     * @return
     */
    ServerResponse accept(EngRepairTicket ticket);

    /**
     * 完成报备
     * @param ticket
     * @return
     */
    ServerResponse finish(EngRepairTicket ticket);

    /**
     * 校正报备单
     * @param ticket
     * @return
     */
    ServerResponse just(EngRepairTicketItem ticket);

    /**
     * 校验是否能完成报备工作
     * @param ticketId
     * @return
     */
    ServerResponse checkTicketCanComplete(String ticketId);

    /**
     * 查询一个报备的详情
     * @param id
     * @return
     */
    EngRepairTicketVO findAllInfoOfRepair(Integer id);

    /**
     * 智能输入
     * @param ticket
     * @return
     */
    ServerResponse AIInput(EngRepairTicket ticket);
}
